// 使用递归处理树形数据
// 爹找儿子，参数，逻辑，返回值
// arr 原始数据
// id  想要找那个节点就把那个节点传进去
const findSon = (arr, id = '') => {
  const reaulArr = []
  arr.forEach(item => {
    if (item.pid === id) {
      // 找到所有的自己放到了结果中
      reaulArr.push(item)
      // findSon是一个找儿子的方法
      // 返回的是儿子的集合=>children
      // 继续递归将这个children放到他的父亲中
      const children = findSon(arr, item.id)
      // 有孩子再加，没有孩子就不加children字段
      if (children.length) item.children = children
    }
  })
  return reaulArr
}

// const findSon = (arr, id = '') => {
//   const reaulArr = []
//   arr.forEach(item => {
//     if (item.pid === id) {
//       reaulArr.push(item)
//       const children = findSon(arr, item.id)
//       if (children.length) item.children = children
//     }
//   })
//   return reaulArr
// }

export default findSon
